package com.ltkj.ticket.mapper;

import java.util.Date;
import java.util.List;
import com.ltkj.ticket.domain.TicScenicType;
import com.ltkj.ticket.domain.dto.TicScenicTypeAddDTO;
import com.ltkj.ticket.domain.vo.TicScenicTypeDetailVo;
import org.apache.ibatis.annotations.Param;

/**
 * 景区门票票种配置Mapper接口
 * 
 * @author ruoyi
 * @date 2023-08-31
 */
public interface TicScenicTypeMapper 
{
    /**
     * 查询景区门票票种配置
     * 
     * @param ticScenicTypeId 景区门票票种配置主键
     * @return 景区门票票种配置
     */
    public TicScenicType selectTicScenicTypeByTicScenicTypeId(Long ticScenicTypeId);

    /**
     * 查询景区门票票种配置列表
     * 
     * @param ticScenicType 景区门票票种配置
     * @return 景区门票票种配置集合
     */
    public List<TicScenicType> selectTicScenicTypeList(TicScenicType ticScenicType);

    /**
     * 新增景区门票票种配置
     * 
     * @param ticScenicType 景区门票票种配置
     * @return 结果
     */
    public int insertTicScenicType(TicScenicType ticScenicType);

    /**
     * 修改景区门票票种配置
     * 
     * @param ticScenicType 景区门票票种配置
     * @return 结果
     */
    public int updateTicScenicType(TicScenicType ticScenicType);

    /**
     * 删除景区门票票种配置
     * 
     * @param ticScenicTypeId 景区门票票种配置主键
     * @return 结果
     */
    public int deleteTicScenicTypeByTicScenicTypeId(Long ticScenicTypeId);

    /**
     * 批量删除景区门票票种配置
     * 
     * @param ticScenicTypeIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteTicScenicTypeByTicScenicTypeIds(Long[] ticScenicTypeIds);

    void batchInsert(@Param("listType") List<TicScenicTypeAddDTO> ticScenicTypeAddDTOList, @Param("day")  String day, @Param("scenicId")  Long scenicId, @Param("username")  String username);

    List<TicScenicTypeDetailVo> selectScenicTypeListByScenicId(@Param("scenicId") Long scenicId,@Param("stockDate") Date stockDate);

    void deleteTicScenicTypeByDate(@Param("scenicId")Long scenicId,@Param("stockDate") Date scenicStockDate);
}
